package org.aepscolombia.platform.models.entity;
// Generated Jan 13, 2014 2:36:33 PM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ProductionEvents generated by hbm2java
 */
@Entity
@Table(name="production_events"
    ,catalog="madr_bd10"
)
public class ProductionEvents  implements java.io.Serializable {


     private Integer idProEve;
     private CropMainProblem cropMainProblem;
     private Fields fields;
     private Diseases diseases;
     private CropsTypes cropsTypes;
     private Pests pests;
     private ReasonsSoilAnalysis reasonsSoilAnalysis;
     private Weeds weeds;
     private String commentProEve;
     private int idProjectProEve;
     private boolean statusProEve;
     private double expectedProductionProEve;
     private Integer formerCropProEve;
     private Boolean drainingProEve;
     private Date dataCaptureDateProEve;
     private Boolean didSoilAnalysisProEve;
     private Boolean irrigateProEve;
     private String otherFormerCropProEve;
     private String otherMainPestProEve;
     private String otherMainDiseaseProEve;
     private String otherMainWeedProEve;
     private Integer numCyclesBeforeProEve;
     private Set maizes = new HashSet(0);
     private Set preparationses = new HashSet(0);
     private Set irrigations = new HashSet(0);
     private Set monitorings = new HashSet(0);
     private Set harvestses = new HashSet(0);
     private Set sowings = new HashSet(0);
     private Set marketses = new HashSet(0);
     private Set physiologicalMonitorings = new HashSet(0);
     private Set flowerings = new HashSet(0);
     private Set beanses = new HashSet(0);
     private Set statisticses = new HashSet(0);
     private Set rainses = new HashSet(0);
     private Set cassavases = new HashSet(0);
     private Set fertilizationses = new HashSet(0);
     private Set intercroppings = new HashSet(0);
     private Set controlses = new HashSet(0);

    public ProductionEvents() {
    }

	
    public ProductionEvents(Fields fields, CropsTypes cropsTypes, String commentProEve, int idProjectProEve, boolean statusProEve, double expectedProductionProEve, Date dataCaptureDateProEve) {
        this.fields = fields;
        this.cropsTypes = cropsTypes;
        this.commentProEve = commentProEve;
        this.idProjectProEve = idProjectProEve;
        this.statusProEve = statusProEve;
        this.expectedProductionProEve = expectedProductionProEve;
        this.dataCaptureDateProEve = dataCaptureDateProEve;
    }
    public ProductionEvents(CropMainProblem cropMainProblem, Fields fields, Diseases diseases, CropsTypes cropsTypes, Pests pests, ReasonsSoilAnalysis reasonsSoilAnalysis, Weeds weeds, String commentProEve, int idProjectProEve, boolean statusProEve, double expectedProductionProEve, Integer formerCropProEve, Boolean drainingProEve, Date dataCaptureDateProEve, Boolean didSoilAnalysisProEve, Boolean irrigateProEve, String otherFormerCropProEve, String otherMainPestProEve, String otherMainDiseaseProEve, String otherMainWeedProEve, Integer numCyclesBeforeProEve, Set maizes, Set preparationses, Set irrigations, Set monitorings, Set harvestses, Set sowings, Set marketses, Set physiologicalMonitorings, Set flowerings, Set beanses, Set statisticses, Set rainses, Set cassavases, Set fertilizationses, Set intercroppings, Set controlses) {
       this.cropMainProblem = cropMainProblem;
       this.fields = fields;
       this.diseases = diseases;
       this.cropsTypes = cropsTypes;
       this.pests = pests;
       this.reasonsSoilAnalysis = reasonsSoilAnalysis;
       this.weeds = weeds;
       this.commentProEve = commentProEve;
       this.idProjectProEve = idProjectProEve;
       this.statusProEve = statusProEve;
       this.expectedProductionProEve = expectedProductionProEve;
       this.formerCropProEve = formerCropProEve;
       this.drainingProEve = drainingProEve;
       this.dataCaptureDateProEve = dataCaptureDateProEve;
       this.didSoilAnalysisProEve = didSoilAnalysisProEve;
       this.irrigateProEve = irrigateProEve;
       this.otherFormerCropProEve = otherFormerCropProEve;
       this.otherMainPestProEve = otherMainPestProEve;
       this.otherMainDiseaseProEve = otherMainDiseaseProEve;
       this.otherMainWeedProEve = otherMainWeedProEve;
       this.numCyclesBeforeProEve = numCyclesBeforeProEve;
       this.maizes = maizes;
       this.preparationses = preparationses;
       this.irrigations = irrigations;
       this.monitorings = monitorings;
       this.harvestses = harvestses;
       this.sowings = sowings;
       this.marketses = marketses;
       this.physiologicalMonitorings = physiologicalMonitorings;
       this.flowerings = flowerings;
       this.beanses = beanses;
       this.statisticses = statisticses;
       this.rainses = rainses;
       this.cassavases = cassavases;
       this.fertilizationses = fertilizationses;
       this.intercroppings = intercroppings;
       this.controlses = controlses;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="id_pro_eve", unique=true, nullable=false)
    public Integer getIdProEve() {
        return this.idProEve;
    }
    
    public void setIdProEve(Integer idProEve) {
        this.idProEve = idProEve;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="main_crop_problem_pro_eve")
    public CropMainProblem getCropMainProblem() {
        return this.cropMainProblem;
    }
    
    public void setCropMainProblem(CropMainProblem cropMainProblem) {
        this.cropMainProblem = cropMainProblem;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_field_pro_eve", nullable=false)
    public Fields getFields() {
        return this.fields;
    }
    
    public void setFields(Fields fields) {
        this.fields = fields;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="main_disease_pro_eve")
    public Diseases getDiseases() {
        return this.diseases;
    }
    
    public void setDiseases(Diseases diseases) {
        this.diseases = diseases;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_crop_type_pro_eve", nullable=false)
    public CropsTypes getCropsTypes() {
        return this.cropsTypes;
    }
    
    public void setCropsTypes(CropsTypes cropsTypes) {
        this.cropsTypes = cropsTypes;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="main_pest_pro_eve")
    public Pests getPests() {
        return this.pests;
    }
    
    public void setPests(Pests pests) {
        this.pests = pests;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="reason_soil_analysis_pro_eve")
    public ReasonsSoilAnalysis getReasonsSoilAnalysis() {
        return this.reasonsSoilAnalysis;
    }
    
    public void setReasonsSoilAnalysis(ReasonsSoilAnalysis reasonsSoilAnalysis) {
        this.reasonsSoilAnalysis = reasonsSoilAnalysis;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="main_weed_pro_eve")
    public Weeds getWeeds() {
        return this.weeds;
    }
    
    public void setWeeds(Weeds weeds) {
        this.weeds = weeds;
    }
    
    @Column(name="comment_pro_eve", nullable=false, length=45)
    public String getCommentProEve() {
        return this.commentProEve;
    }
    
    public void setCommentProEve(String commentProEve) {
        this.commentProEve = commentProEve;
    }
    
    @Column(name="id_project_pro_eve", nullable=false)
    public int getIdProjectProEve() {
        return this.idProjectProEve;
    }
    
    public void setIdProjectProEve(int idProjectProEve) {
        this.idProjectProEve = idProjectProEve;
    }
    
    @Column(name="status_pro_eve", nullable=false)
    public boolean isStatusProEve() {
        return this.statusProEve;
    }
    
    public void setStatusProEve(boolean statusProEve) {
        this.statusProEve = statusProEve;
    }
    
    @Column(name="expected_production_pro_eve", nullable=false, precision=22, scale=0)
    public double getExpectedProductionProEve() {
        return this.expectedProductionProEve;
    }
    
    public void setExpectedProductionProEve(double expectedProductionProEve) {
        this.expectedProductionProEve = expectedProductionProEve;
    }
    
    @Column(name="former_crop_pro_eve")
    public Integer getFormerCropProEve() {
        return this.formerCropProEve;
    }
    
    public void setFormerCropProEve(Integer formerCropProEve) {
        this.formerCropProEve = formerCropProEve;
    }
    
    @Column(name="draining_pro_eve")
    public Boolean getDrainingProEve() {
        return this.drainingProEve;
    }
    
    public void setDrainingProEve(Boolean drainingProEve) {
        this.drainingProEve = drainingProEve;
    }
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data_capture_date_pro_eve", nullable=false, length=19)
    public Date getDataCaptureDateProEve() {
        return this.dataCaptureDateProEve;
    }
    
    public void setDataCaptureDateProEve(Date dataCaptureDateProEve) {
        this.dataCaptureDateProEve = dataCaptureDateProEve;
    }
    
    @Column(name="did_soil_analysis_pro_eve")
    public Boolean getDidSoilAnalysisProEve() {
        return this.didSoilAnalysisProEve;
    }
    
    public void setDidSoilAnalysisProEve(Boolean didSoilAnalysisProEve) {
        this.didSoilAnalysisProEve = didSoilAnalysisProEve;
    }
    
    @Column(name="irrigate_pro_eve")
    public Boolean getIrrigateProEve() {
        return this.irrigateProEve;
    }
    
    public void setIrrigateProEve(Boolean irrigateProEve) {
        this.irrigateProEve = irrigateProEve;
    }
    
    @Column(name="other_former_crop_pro_eve", length=65535)
    public String getOtherFormerCropProEve() {
        return this.otherFormerCropProEve;
    }
    
    public void setOtherFormerCropProEve(String otherFormerCropProEve) {
        this.otherFormerCropProEve = otherFormerCropProEve;
    }
    
    @Column(name="other_main_pest_pro_eve", length=65535)
    public String getOtherMainPestProEve() {
        return this.otherMainPestProEve;
    }
    
    public void setOtherMainPestProEve(String otherMainPestProEve) {
        this.otherMainPestProEve = otherMainPestProEve;
    }
    
    @Column(name="other_main_disease_pro_eve", length=65535)
    public String getOtherMainDiseaseProEve() {
        return this.otherMainDiseaseProEve;
    }
    
    public void setOtherMainDiseaseProEve(String otherMainDiseaseProEve) {
        this.otherMainDiseaseProEve = otherMainDiseaseProEve;
    }
    
    @Column(name="other_main_weed_pro_eve", length=65535)
    public String getOtherMainWeedProEve() {
        return this.otherMainWeedProEve;
    }
    
    public void setOtherMainWeedProEve(String otherMainWeedProEve) {
        this.otherMainWeedProEve = otherMainWeedProEve;
    }
    
    @Column(name="num_cycles_before_pro_eve")
    public Integer getNumCyclesBeforeProEve() {
        return this.numCyclesBeforeProEve;
    }
    
    public void setNumCyclesBeforeProEve(Integer numCyclesBeforeProEve) {
        this.numCyclesBeforeProEve = numCyclesBeforeProEve;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getMaizes() {
        return this.maizes;
    }
    
    public void setMaizes(Set maizes) {
        this.maizes = maizes;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getPreparationses() {
        return this.preparationses;
    }
    
    public void setPreparationses(Set preparationses) {
        this.preparationses = preparationses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getIrrigations() {
        return this.irrigations;
    }
    
    public void setIrrigations(Set irrigations) {
        this.irrigations = irrigations;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getMonitorings() {
        return this.monitorings;
    }
    
    public void setMonitorings(Set monitorings) {
        this.monitorings = monitorings;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getHarvestses() {
        return this.harvestses;
    }
    
    public void setHarvestses(Set harvestses) {
        this.harvestses = harvestses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getSowings() {
        return this.sowings;
    }
    
    public void setSowings(Set sowings) {
        this.sowings = sowings;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getMarketses() {
        return this.marketses;
    }
    
    public void setMarketses(Set marketses) {
        this.marketses = marketses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getPhysiologicalMonitorings() {
        return this.physiologicalMonitorings;
    }
    
    public void setPhysiologicalMonitorings(Set physiologicalMonitorings) {
        this.physiologicalMonitorings = physiologicalMonitorings;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getFlowerings() {
        return this.flowerings;
    }
    
    public void setFlowerings(Set flowerings) {
        this.flowerings = flowerings;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getBeanses() {
        return this.beanses;
    }
    
    public void setBeanses(Set beanses) {
        this.beanses = beanses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getStatisticses() {
        return this.statisticses;
    }
    
    public void setStatisticses(Set statisticses) {
        this.statisticses = statisticses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getRainses() {
        return this.rainses;
    }
    
    public void setRainses(Set rainses) {
        this.rainses = rainses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getCassavases() {
        return this.cassavases;
    }
    
    public void setCassavases(Set cassavases) {
        this.cassavases = cassavases;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getFertilizationses() {
        return this.fertilizationses;
    }
    
    public void setFertilizationses(Set fertilizationses) {
        this.fertilizationses = fertilizationses;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getIntercroppings() {
        return this.intercroppings;
    }
    
    public void setIntercroppings(Set intercroppings) {
        this.intercroppings = intercroppings;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="productionEvents")
    public Set getControlses() {
        return this.controlses;
    }
    
    public void setControlses(Set controlses) {
        this.controlses = controlses;
    }




}


